package com.wzq.permission.client.service;

import java.util.List;

import com.wzq.permission.client.model.Pager;
import com.wzq.permission.client.model.admin.MenuModel;

public interface MenuService {
	void add(MenuModel menu);

	void update(MenuModel menu);

	void updateBySelective(MenuModel menu);

	void delete(Long[] menuIds);

	int queryByCount(MenuModel menu);

	List<MenuModel> queryList(MenuModel menu,Pager pager);

	MenuModel queryById(Object id);
	//=====================================================================================================
	/**
	 * 根据应用ID查询菜单列表
	 * @param applicationId
	 * @return
	 */
	List<MenuModel> queryMenuByApplicationId(Long applicationId);
	
	/**
	 * 根据应用ID查询菜单和操作列表
	 * @param applicationId
	 * @return
	 */
	List<MenuModel> queryMenuAndBtnByApplicationId(Long applicationId);
	
	/**
	 * 根据menuId查找操作菜单
	 * @param menuId
	 * @return List<MenuModel>
	 */
	List<MenuModel> getOperateMenus(Long menuId);
	
	/**
	 * 根据用户ID查询用户菜单权限
	 * @param userId 用户ID
	 * @param applicationId 系统ID
	 * @return
	 */
	List<MenuModel> queryMenusByUserId(Long userId,Long applicationId);
	
	/**
	 * 根据用户ID查询用户对应的权限
	 * @param userId 用户ID
	 * @param applicationId 系统ID
	 * @return
	 */
	List<MenuModel> queryPermissionByUserId(Long userId,Long applicationId);
}
